[INFO] fetching crate sflow 0.0.1...
[INFO] fixing sflow-0.0.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate sflow 0.0.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate sflow 0.0.1
[INFO] finished tweaking crates.io crate sflow 0.0.1
[INFO] tweaked toml for crates.io crate sflow 0.0.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sflow 0.0.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 19 packages to latest compatible versions
[INFO] [stderr]       Adding byteorder v0.4.2 (available: v1.5.0)
[INFO] [stderr]       Adding num v0.1.43 (available: v0.4.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `sflow` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1
[INFO] running `Command { std: "docker" "start" "023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `sflow` (manifest) generated 2 warnings
[INFO] [stderr]     Checking byteorder v0.4.2
[INFO] [stderr]     Checking sflow v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed src/lib.rs (8 fixes)
[INFO] [stderr]        Fixed src/datagram.rs (2 fixes)
[INFO] [stderr]        Fixed src/utils.rs (22 fixes)
[INFO] [stderr]        Fixed src/ipaddress.rs (9 fixes)
[INFO] [stderr]        Fixed src/sample.rs (11 fixes)
[INFO] [stderr]        Fixed src/community.rs (6 fixes)
[INFO] [stderr]        Fixed src/flow_records.rs (18 fixes)
[INFO] [stderr]        Fixed src/test.rs (2 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.83s
[INFO] [stderr] crater-edition-check: sflow v0.0.1 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `sflow` (manifest) generated 1 warning
[INFO] [stderr]     Checking sflow v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected identifier, found reserved keyword `try`
[INFO] [stdout]   --> src/utils.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(try)]
[INFO] [stdout]    |             ^^^ expected identifier, found reserved keyword
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `try`
[INFO] [stdout]   --> src/utils.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(try)]
[INFO] [stdout]    |             ^^^ expected identifier, found reserved keyword
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let r = r#try!(stream.read_u8());
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let r = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let r = r#try!(stream.be_read_u16());
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let r = r#try!(stream.read_i8());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let r = r#try!(stream.be_read_i32());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let r = r#try!(stream.be_read_i16());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         r#try!(stream.read_exact(&mut buf));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let length: usize = r#try!(stream.be_read_u32()) as usize;
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let s = r#try!(String::from_utf8(buf));
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |             r#try!(stream.seek(SeekFrom::Current(padding as i64)));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         r#try!(stream.seek(SeekFrom::Current(padding as i64)));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let count = r#try!(stream.be_read_u32());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sample.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / add_decoder!{
[INFO] [stdout] 17 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 18 | | pub struct FlowSample {
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let count = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:58:26
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let format = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let length = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let fs: FlowSample = r#try!(crate::utils::Decodeable::read_and_decode(stream));
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     r#try!(stream.seek(SeekFrom::Current(length as i64)));
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let format = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let length = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let e = r#try!(SampledHeader::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let e = r#try!(SampledIpv4::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 let e = r#try!(ExtendedSwitch::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 let e = r#try!(ExtendedRouter::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:47:25
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 let e = r#try!(ExtendedGateway::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let e = r#try!(ExtendedUrl::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 let e = r#try!(ExtendedMpls::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 let e = r#try!(ExtendedMplsTunnel::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 r#try!(stream.seek(SeekFrom::Current(length as i64)));
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let r = r#try!(stream.read_u8());
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let r = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let r = r#try!(stream.be_read_u16());
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let r = r#try!(stream.read_i8());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let r = r#try!(stream.be_read_i32());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let r = r#try!(stream.be_read_i16());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         r#try!(stream.read_exact(&mut buf));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let length: usize = r#try!(stream.be_read_u32()) as usize;
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let s = r#try!(String::from_utf8(buf));
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |             r#try!(stream.seek(SeekFrom::Current(padding as i64)));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         r#try!(stream.seek(SeekFrom::Current(padding as i64)));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let count = r#try!(stream.be_read_u32());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sample.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / add_decoder!{
[INFO] [stdout] 17 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 18 | | pub struct FlowSample {
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let count = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:58:26
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let format = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let length = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let fs: FlowSample = r#try!(crate::utils::Decodeable::read_and_decode(stream));
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/sample.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     r#try!(stream.seek(SeekFrom::Current(length as i64)));
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let format = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let length = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let e = r#try!(SampledHeader::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let e = r#try!(SampledIpv4::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 let e = r#try!(ExtendedSwitch::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 let e = r#try!(ExtendedRouter::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:47:25
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 let e = r#try!(ExtendedGateway::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let e = r#try!(ExtendedUrl::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 let e = r#try!(ExtendedMpls::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 let e = r#try!(ExtendedMplsTunnel::read_and_decode(stream));
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/flow_records.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 r#try!(stream.seek(SeekFrom::Current(length as i64)));
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / add_decoder!{
[INFO] [stdout] 77 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 78 | | pub struct ExtendedGateway {
[INFO] [stdout] 79 | |     pub next_hop: ipaddress::IPAddress,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | / add_decoder!{
[INFO] [stdout] 90 | | #[derive(Debug, Clone)]
[INFO] [stdout] 91 | | pub struct ExtendedUrl {
[INFO] [stdout] 92 | |    pub directoin: u32,   /* Direction of connection */
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / add_decoder!{
[INFO] [stdout]  99 | | #[derive(Debug, Clone)]
[INFO] [stdout] 100 | | pub struct SampledIpv4 {
[INFO] [stdout] 101 | |    pub length: u32,     /* The length of the IP packet excluding
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / add_decoder!{
[INFO] [stdout] 115 | | #[derive(Debug, Clone)]
[INFO] [stdout] 116 | | pub struct ExtendedSwitch {
[INFO] [stdout] 117 | |    pub src_vlan: u32,     /* The 802.1Q VLAN id of incoming frame */
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / add_decoder!{
[INFO] [stdout] 77 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 78 | | pub struct ExtendedGateway {
[INFO] [stdout] 79 | |     pub next_hop: ipaddress::IPAddress,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | / add_decoder!{
[INFO] [stdout] 125 | | #[derive(Debug, Clone)]
[INFO] [stdout] 126 | | pub struct ExtendedRouter {
[INFO] [stdout] 127 | |    pub nexthop: ipaddress::IPAddress,            /* IP address of next hop router */
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / add_decoder!{
[INFO] [stdout] 136 | | #[derive(Debug, Clone)]
[INFO] [stdout] 137 | | pub struct SampledHeader {
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | / add_decoder!{
[INFO] [stdout] 90 | | #[derive(Debug, Clone)]
[INFO] [stdout] 91 | | pub struct ExtendedUrl {
[INFO] [stdout] 92 | |    pub directoin: u32,   /* Direction of connection */
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | / add_decoder!{
[INFO] [stdout] 165 | | #[derive(Debug, Clone)]
[INFO] [stdout] 166 | | pub struct ExtendedMplsTunnel {
[INFO] [stdout] 167 | |    pub tunnel_lsp_name: String, /* Tunnel name */
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | / add_decoder!{
[INFO] [stdout] 174 | | #[derive(Debug, Clone)]
[INFO] [stdout] 175 | | pub struct ExtendedMpls {
[INFO] [stdout] 176 | |    pub nexthop: ipaddress::IPAddress,           /* Address of the next hop */
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let ip_version = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |             1 => ip = r#try!(decode_ipv4(stream)),
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |             2 => ip = r#try!(decode_ipv6(stream)),
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 |         b[i] = r#try!(stream.read_u8());
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 56 |         b[i] = r#try!(stream.be_read_u16())
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/dst_as_path.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / add_decoder!{
[INFO] [stdout]  4 | | #[derive(Debug, Clone)]
[INFO] [stdout]  5 | | pub struct DstASPath {
[INFO] [stdout]  6 | |     pub ordered: u32,
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/datagram.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / add_decoder!{
[INFO] [stdout]  6 | | #[derive(Debug, Clone)]
[INFO] [stdout]  7 | | pub struct Datagram {
[INFO] [stdout]  8 | |     pub sflow_version: u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/community.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |             asn: r#try!(stream.be_read_u16()) as u32,
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/community.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |             tag: r#try!(stream.be_read_u16()),
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::datagram::Datagram`
[INFO] [stdout]  --> src/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::datagram::Datagram;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / add_decoder!{
[INFO] [stdout]  99 | | #[derive(Debug, Clone)]
[INFO] [stdout] 100 | | pub struct SampledIpv4 {
[INFO] [stdout] 101 | |    pub length: u32,     /* The length of the IP packet excluding
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / add_decoder!{
[INFO] [stdout] 115 | | #[derive(Debug, Clone)]
[INFO] [stdout] 116 | | pub struct ExtendedSwitch {
[INFO] [stdout] 117 | |    pub src_vlan: u32,     /* The 802.1Q VLAN id of incoming frame */
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | / add_decoder!{
[INFO] [stdout] 125 | | #[derive(Debug, Clone)]
[INFO] [stdout] 126 | | pub struct ExtendedRouter {
[INFO] [stdout] 127 | |    pub nexthop: ipaddress::IPAddress,            /* IP address of next hop router */
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / add_decoder!{
[INFO] [stdout] 136 | | #[derive(Debug, Clone)]
[INFO] [stdout] 137 | | pub struct SampledHeader {
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | / add_decoder!{
[INFO] [stdout] 165 | | #[derive(Debug, Clone)]
[INFO] [stdout] 166 | | pub struct ExtendedMplsTunnel {
[INFO] [stdout] 167 | |    pub tunnel_lsp_name: String, /* Tunnel name */
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils.rs:57:33
[INFO] [stdout]     |
[INFO] [stdout]  57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | / add_decoder!{
[INFO] [stdout] 174 | | #[derive(Debug, Clone)]
[INFO] [stdout] 175 | | pub struct ExtendedMpls {
[INFO] [stdout] 176 | |    pub nexthop: ipaddress::IPAddress,           /* Address of the next hop */
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let ip_version = r#try!(stream.be_read_u32());
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |             1 => ip = r#try!(decode_ipv4(stream)),
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |             2 => ip = r#try!(decode_ipv6(stream)),
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 |         b[i] = r#try!(stream.read_u8());
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/ipaddress.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 56 |         b[i] = r#try!(stream.be_read_u16())
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/dst_as_path.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / add_decoder!{
[INFO] [stdout]  4 | | #[derive(Debug, Clone)]
[INFO] [stdout]  5 | | pub struct DstASPath {
[INFO] [stdout]  6 | |     pub ordered: u32,
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |                   $($field_name : r#try!(crate::utils::Decodeable::read_and_decode(stream))),+
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/datagram.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / add_decoder!{
[INFO] [stdout]  6 | | #[derive(Debug, Clone)]
[INFO] [stdout]  7 | | pub struct Datagram {
[INFO] [stdout]  8 | |     pub sflow_version: u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/community.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |             asn: r#try!(stream.be_read_u16()) as u32,
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/community.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |             tag: r#try!(stream.be_read_u16()),
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/test.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Error::Io(ref err) => error::Error::description(err),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Error::ByteOrder(ref err) => error::Error::description(err),
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:25:51
[INFO] [stdout]    |
[INFO] [stdout] 25 |             Error::Utf8(ref err) => error::Error::description(err),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/utils.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(try)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[macro_use]` can be applied to extern crates and modules
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn read_and_decode(_: &mut types::ReadSeeker) -> Result<Self, crate::error::Error> where Self: Sized;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn read_and_decode(_: &mut dyn types::ReadSeeker) -> Result<Self, crate::error::Error> where Self: Sized;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<u32, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<u32, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:90:37
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:108:37
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<i32, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<i32, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Vec<T>, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Vec<T>, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Error::Io(ref err) => error::Error::description(err),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Error::ByteOrder(ref err) => error::Error::description(err),
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:25:51
[INFO] [stdout]    |
[INFO] [stdout] 25 |             Error::Utf8(ref err) => error::Error::description(err),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro defs
[INFO] [stdout]   --> src/utils.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[macro_use(try)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[macro_use]` can be applied to extern crates and modules
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sflow` (lib test) due to 1 previous error; 84 warnings emitted
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn read_and_decode(_: &mut types::ReadSeeker) -> Result<Self, crate::error::Error> where Self: Sized;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn read_and_decode(_: &mut dyn types::ReadSeeker) -> Result<Self, crate::error::Error> where Self: Sized;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<u32, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<u32, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:90:37
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:108:37
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<i32, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<i32, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Self, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Vec<T>, error::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Vec<T>, error::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sample.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / add_decoder!{
[INFO] [stdout] 17 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 18 | | pub struct FlowSample {
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sample.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn read_and_decode(stream: &mut ReadSeeker) -> Result<Vec<SampleRecord>> {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn read_and_decode(stream: &mut dyn ReadSeeker) -> Result<Vec<SampleRecord>> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/flow_records.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut ReadSeeker) -> Result<FlowRecord, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut dyn ReadSeeker) -> Result<FlowRecord, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / add_decoder!{
[INFO] [stdout] 77 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 78 | | pub struct ExtendedGateway {
[INFO] [stdout] 79 | |     pub next_hop: ipaddress::IPAddress,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | / add_decoder!{
[INFO] [stdout] 90 | | #[derive(Debug, Clone)]
[INFO] [stdout] 91 | | pub struct ExtendedUrl {
[INFO] [stdout] 92 | |    pub directoin: u32,   /* Direction of connection */
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / add_decoder!{
[INFO] [stdout]  99 | | #[derive(Debug, Clone)]
[INFO] [stdout] 100 | | pub struct SampledIpv4 {
[INFO] [stdout] 101 | |    pub length: u32,     /* The length of the IP packet excluding
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / add_decoder!{
[INFO] [stdout] 115 | | #[derive(Debug, Clone)]
[INFO] [stdout] 116 | | pub struct ExtendedSwitch {
[INFO] [stdout] 117 | |    pub src_vlan: u32,     /* The 802.1Q VLAN id of incoming frame */
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | / add_decoder!{
[INFO] [stdout] 125 | | #[derive(Debug, Clone)]
[INFO] [stdout] 126 | | pub struct ExtendedRouter {
[INFO] [stdout] 127 | |    pub nexthop: ipaddress::IPAddress,            /* IP address of next hop router */
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / add_decoder!{
[INFO] [stdout] 136 | | #[derive(Debug, Clone)]
[INFO] [stdout] 137 | | pub struct SampledHeader {
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | / add_decoder!{
[INFO] [stdout] 165 | | #[derive(Debug, Clone)]
[INFO] [stdout] 166 | | pub struct ExtendedMplsTunnel {
[INFO] [stdout] 167 | |    pub tunnel_lsp_name: String, /* Tunnel name */
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | / add_decoder!{
[INFO] [stdout] 174 | | #[derive(Debug, Clone)]
[INFO] [stdout] 175 | | pub struct ExtendedMpls {
[INFO] [stdout] 176 | |    pub nexthop: ipaddress::IPAddress,           /* Address of the next hop */
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sample.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / add_decoder!{
[INFO] [stdout] 17 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 18 | | pub struct FlowSample {
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sample.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn read_and_decode(stream: &mut ReadSeeker) -> Result<Vec<SampleRecord>> {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn read_and_decode(stream: &mut dyn ReadSeeker) -> Result<Vec<SampleRecord>> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/flow_records.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut ReadSeeker) -> Result<FlowRecord, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut dyn ReadSeeker) -> Result<FlowRecord, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ipaddress.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut dyn ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ipaddress.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn decode_ipv4(stream: &mut ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn decode_ipv4(stream: &mut dyn ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / add_decoder!{
[INFO] [stdout] 77 | | #[derive(Debug, Clone, Default)]
[INFO] [stdout] 78 | | pub struct ExtendedGateway {
[INFO] [stdout] 79 | |     pub next_hop: ipaddress::IPAddress,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ipaddress.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn decode_ipv6(stream: &mut ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn decode_ipv6(stream: &mut dyn ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/flow_records.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | / add_decoder!{
[INFO] [stdout] 90 | | #[derive(Debug, Clone)]
[INFO] [stdout] 91 | | pub struct ExtendedUrl {
[INFO] [stdout] 92 | |    pub directoin: u32,   /* Direction of connection */
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / add_decoder!{
[INFO] [stdout]  99 | | #[derive(Debug, Clone)]
[INFO] [stdout] 100 | | pub struct SampledIpv4 {
[INFO] [stdout] 101 | |    pub length: u32,     /* The length of the IP packet excluding
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / add_decoder!{
[INFO] [stdout] 115 | | #[derive(Debug, Clone)]
[INFO] [stdout] 116 | | pub struct ExtendedSwitch {
[INFO] [stdout] 117 | |    pub src_vlan: u32,     /* The 802.1Q VLAN id of incoming frame */
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/dst_as_path.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / add_decoder!{
[INFO] [stdout]  4 | | #[derive(Debug, Clone)]
[INFO] [stdout]  5 | | pub struct DstASPath {
[INFO] [stdout]  6 | |     pub ordered: u32,
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/datagram.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / add_decoder!{
[INFO] [stdout]  6 | | #[derive(Debug, Clone)]
[INFO] [stdout]  7 | | pub struct Datagram {
[INFO] [stdout]  8 | |     pub sflow_version: u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/community.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Community, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Community, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | / add_decoder!{
[INFO] [stdout] 125 | | #[derive(Debug, Clone)]
[INFO] [stdout] 126 | | pub struct ExtendedRouter {
[INFO] [stdout] 127 | |    pub nexthop: ipaddress::IPAddress,            /* IP address of next hop router */
[INFO] [stdout] ...   |
[INFO] [stdout] 133 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / add_decoder!{
[INFO] [stdout] 136 | | #[derive(Debug, Clone)]
[INFO] [stdout] 137 | | pub struct SampledHeader {
[INFO] [stdout] ...   |
[INFO] [stdout] 162 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | / add_decoder!{
[INFO] [stdout] 165 | | #[derive(Debug, Clone)]
[INFO] [stdout] 166 | | pub struct ExtendedMplsTunnel {
[INFO] [stdout] 167 | |    pub tunnel_lsp_name: String, /* Tunnel name */
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils.rs:55:45
[INFO] [stdout]     |
[INFO] [stdout]  55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/flow_records.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | / add_decoder!{
[INFO] [stdout] 174 | | #[derive(Debug, Clone)]
[INFO] [stdout] 175 | | pub struct ExtendedMpls {
[INFO] [stdout] 176 | |    pub nexthop: ipaddress::IPAddress,           /* Address of the next hop */
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ipaddress.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn read_and_decode(stream: &mut dyn ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ipaddress.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn decode_ipv4(stream: &mut ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn decode_ipv4(stream: &mut dyn ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ipaddress.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn decode_ipv6(stream: &mut ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn decode_ipv6(stream: &mut dyn ReadSeeker) -> Result<IPAddress, Error> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/dst_as_path.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / add_decoder!{
[INFO] [stdout]  4 | | #[derive(Debug, Clone)]
[INFO] [stdout]  5 | | pub struct DstASPath {
[INFO] [stdout]  6 | |     pub ordered: u32,
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:55:45
[INFO] [stdout]    |
[INFO] [stdout] 55 |               fn read_and_decode(stream: &mut crate::types::ReadSeeker) -> ::std::result::Result<$name, crate::error::Error> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/datagram.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / add_decoder!{
[INFO] [stdout]  6 | | #[derive(Debug, Clone)]
[INFO] [stdout]  7 | | pub struct Datagram {
[INFO] [stdout]  8 | |     pub sflow_version: u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: this warning originates in the macro `add_decoder` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/community.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn read_and_decode(stream: &mut types::ReadSeeker) -> Result<Community, error::Error> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn read_and_decode(stream: &mut dyn types::ReadSeeker) -> Result<Community, error::Error> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Error::Io(ref err) => err.cause(),
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Error::ByteOrder(ref err) => err.cause(),
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Error::Utf8(ref err) => err.cause(),
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteOrder`
[INFO] [stdout]  --> src/utils.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use byteorder::{self, ByteOrder, BigEndian, ReadBytesExt};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/utils.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{self, SeekFrom, Read};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Error::Io(ref err) => err.cause(),
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Error::ByteOrder(ref err) => err.cause(),
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Error::Utf8(ref err) => err.cause(),
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteOrder`
[INFO] [stdout]  --> src/utils.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use byteorder::{self, ByteOrder, BigEndian, ReadBytesExt};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/utils.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{self, SeekFrom, Read};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sflow` (lib) due to 1 previous error; 82 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1", kill_on_drop: false }`
[INFO] [stdout] 023dbff7bbed0caeaffcf9590a0a3122e88150c2d8699296bcaf34a1137cbdd1
